﻿Public Class encNutricion
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Session("usuarioId") Is Nothing Then
                Response.Redirect("loguin.aspx")
            End If
            If Not Session("profesionId") Is Nothing Then
                If Permisos.Validar(Session("profesionId").ToString, 7) = False Then
                    Response.Redirect("Denied.aspx")
                End If
            Else
                Response.Redirect("Denied.aspx")
            End If
            If Not IsPostBack Then
                lbprofesion.Text = Session("profesion").ToString()
                lbnombre.Text = Session("nombre").ToString()
                Dim TablaId = Request.QueryString.Get("nutricionId")
                If TablaId <> "" Then
                    Consulta_Registro(TablaId, sender, e)
                    If Request.QueryString.Get("nutricionId") <> "" Then
                        Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel2, "fnCargaEdicion();")
                    End If
                End If
            End If
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try
    End Sub

    Public Sub Consulta_Registro(ByVal Id As Integer, ByVal sender As Object, ByVal e As EventArgs)
        On Error GoTo errores
        Dim Docmd As New DoCmd, reader As System.Data.SqlClient.SqlDataReader
        Dim Qry As String
        Dim camp As Integer
        Qry = "SELECT     nutri.*, par.primerNombre + ' ' + par.segundoNombre + ' ' + par.primerApellido + ' ' + par.segundoApellido AS NombreCompleto, YEAR({ fn NOW() }) - YEAR(par.fechaNacimiento) AS Edad,par.sexo FROM nutricion AS nutri INNER JOIN participantes AS par ON par.participanteId = nutri.participantesId where nutri.nutricionId = " & Id
        Docmd.Conectar()
        reader = Docmd.Read_SQL(Qry)
        While reader.Read
            camp = reader.FieldCount
            For i = 0 To camp - 1
                On Error Resume Next
                If Page.Form.FindControl(reader.GetName(i)).ID <> "" Then
                    Asigna_control(Page.Form.FindControl(reader.GetName(i)), reader(i).ToString().Trim)
                End If
            Next
        End While
        reader.Close()
        Docmd.Desconectar()
        Exit Sub
errores:
        Response.Write(Err.Description)
    End Sub

    Private Sub Asigna_control(ByVal Objeto As Object, ByRef valor As String)
        Select Case Objeto.GetType.Name
            Case "HiddenField"
                If valor <> "" Then
                    Objeto.value = valor
                Else
                    Objeto.value = ""
                End If
            Case "TextBox"
                If valor <> "" Then
                    Objeto.text = valor
                Else
                    Objeto.text = ""
                End If
            Case "CheckBox"
                If valor = "Si" Then
                    Objeto.Checked = True
                Else
                    Objeto.Checked = False
                End If
            Case "RadioButtonList"
                If valor <> "" Then
                    If valor = "True" Then
                        Objeto.SelectedValue = 1
                    ElseIf valor = "False" Then
                        Objeto.SelectedValue = 0
                    Else
                        Objeto.SelectedValue = valor
                    End If
                Else
                    Objeto.SelectedIndex = -1
                End If
            Case "DropDownList"
                If valor <> "" Then
                    Objeto.SelectedValue = Objeto.Items.FindByValue(valor.Trim).Value
                Else
                    Objeto.SelectedIndex = -1
                End If
        End Select
    End Sub

    Private Sub cargacombos(ByVal participanteId As Integer)
        Try
            Dim docmd As New Sql_Server
            docmd.Conectar()
            docmd.Combo = cboUltRegistros
            docmd.Listar_Combo("SELECT TOP (50) nutri.nutricionId, CAST(nutri.fechaCreo AS varchar) + '->' + par.primerNombre + ' ' + CASE WHEN par.segundoNombre IS NULL THEN '' ELSE par.segundoNombre END + '  ' + par.primerApellido + ' ' + CASE WHEN par.segundoApellido IS NULL THEN '' ELSE par.segundoApellido END AS Nombre FROM nutricion AS nutri  INNER JOIN participantes AS par ON par.participanteId = nutri.participantesId WHERE (nutri.participantesId = " + participanteId.ToString + ") ORDER BY nutri.fechaCreo DESC")
            docmd.Desconectar()
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try
    End Sub
    Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        Try
            Select Case e.Row.RowType
                Case DataControlRowType.DataRow
                    Dim id As Label = e.Row.FindControl("idParticipante")
                    Dim ctrlEliminar As ImageButton = CType(e.Row.Cells(0).Controls(0), ImageButton)
                    ctrlEliminar.OnClientClick = "fnOculta('" + id.Text.Trim + "','" + e.Row.Cells(5).Text.Trim + "','" + e.Row.Cells(6).Text.Trim + "','" + e.Row.Cells(4).Text.Trim + "');return true;"
                    ctrlEliminar.ToolTip = "Click para ingresar un nuevo componente Nutricional a " + e.Row.Cells(4).Text.Trim.ToUpper
            End Select
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try
    End Sub
    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged
        Try
            Dim row As GridViewRow = GridView1.SelectedRow
            Dim id As Label = row.FindControl("idParticipante")
            cargacombos(id.Text.Trim)
            Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel5, "fnListBox();")
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try
    End Sub

    Protected Sub BtnguardaVb_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnguardaVb.Click
        If Page.IsValid = True Then
            Dim modelo As New DataClasses1DataContext()
            Dim cstype As Type = Page.GetType()
            Dim cs As ClientScriptManager = Page.ClientScript
            Dim sb As StringBuilder = New StringBuilder()
            If IsNumeric(nutricionId.Value.Trim) Then
                'edita
                Dim Clnutricion = (From nutri In modelo.nutricions Where nutri.nutricionId.Equals(nutricionId.Value.Trim) Select nutri).Single()
                Clnutricion.participantesId = participantesId.Value.Trim
                If peso.Text.Trim <> "" Then
                    Clnutricion.peso = peso.Text.Trim
                End If
                If talla.Text.Trim <> "" Then
                    Clnutricion.talla = talla.Text.Trim
                End If
                If IsNumeric(txtimc.Value.Trim) Then
                    Clnutricion.imc = txtimc.Value.Trim
                End If
                If IsNumeric(antropometria.Text.Trim) Then
                    Clnutricion.antropometria = antropometria.Text.Trim
                End If
                If medidaCinturaVal.Text.Trim <> "" Then
                    Clnutricion.medidaCinturaVal = medidaCinturaVal.Text.Trim
                End If
                If medidaCintura.Text.Trim <> "" Then
                    Clnutricion.medidaCintura = medidaCintura.Text.Trim
                End If
                If comidaCompleta.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comidaCompleta = comidaCompleta.SelectedValue.Trim
                End If
                If consumeLacteos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeLacteos = consumeLacteos.SelectedValue.Trim
                End If
                If consumeHuevos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeHuevos = consumeHuevos.SelectedValue.Trim
                End If
                If consumeCarne.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeCarne = consumeCarne.SelectedValue.Trim
                End If
                If valorconsume.Text.Trim <> "" Then
                    Clnutricion.valorconsume = valorconsume.Text.Trim
                End If
                If consumeFrutas.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeFrutas = consumeFrutas.SelectedValue.Trim
                End If
                If vasosdeAgua.SelectedValue.Trim <> "-1" Then
                    Clnutricion.vasosdeAgua = vasosdeAgua.SelectedValue.Trim
                End If
                If formaAlimentarse.SelectedValue.Trim <> "-1" Then
                    Clnutricion.formaAlimentarse = formaAlimentarse.SelectedValue.Trim
                End If
                If comidoMenos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comidoMenos = comidoMenos.SelectedValue.Trim
                End If
                If valorComidoMenos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.valorComidoMenos = valorComidoMenos.SelectedValue.Trim
                End If
                If viveIndependiente.SelectedValue.Trim <> "-1" Then
                    Clnutricion.viveIndependiente = viveIndependiente.SelectedValue.Trim
                End If
                If tresMedicamentos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tresMedicamentos = tresMedicamentos.SelectedValue.Trim
                End If
                If tieneDinero.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tieneDinero = tieneDinero.SelectedValue.Trim
                End If
                If enfermedadCambioComidad.SelectedValue.Trim <> "-1" Then
                    Clnutricion.enfermedadCambioComidad = enfermedadCambioComidad.SelectedValue.Trim
                End If
                If enfermedadCambioComidadDesc.Text.Trim <> "" Then
                    Clnutricion.enfermedadCambioComidadDesc = enfermedadCambioComidadDesc.Text.Trim
                End If
                If tieneProblemaDientes.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tieneProblemaDientes = tieneProblemaDientes.SelectedValue.Trim
                End If
                If perdidaPeso.SelectedValue.Trim <> "-1" Then
                    Clnutricion.perdidaPeso = perdidaPeso.SelectedValue.Trim
                End If
                If movilidad.SelectedValue.Trim <> "-1" Then
                    Clnutricion.movilidad = movilidad.SelectedValue.Trim
                End If
                If comparacionSalud.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comparacionSalud = comparacionSalud.SelectedValue.Trim
                End If
                If totalNutricionAux.Value.Trim <> "" Then
                    Clnutricion.totalNutricion = totalNutricionAux.Value.Trim
                End If
                If txttotalNutricionAux.Value.Trim <> "" Then
                    Clnutricion.txttotalNutricion = txttotalNutricionAux.Value.Trim
                End If
                Clnutricion.sexo = sexo.Value.Trim
                modelo.SubmitChanges()
                nutricionId.Value = Clnutricion.nutricionId.ToString
                If txtContinua.Value.Trim = "Si" Then
                    Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel5, "alert('Se ha guardado correctamente');")
                Else
                    Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel5, "alert('Se ha guardado correctamente');window.location = 'encNutricion.aspx'")
                End If
            Else
                'Se trata de un nuevo registro
                Dim Clnutricion As New nutricion
                Clnutricion.usuario_id = Session("usuarioId").ToString
                Clnutricion.participantesId = participantesId.Value.Trim
                If peso.Text.Trim <> "" Then
                    Clnutricion.peso = peso.Text.Trim
                End If
                If talla.Text.Trim <> "" Then
                    Clnutricion.talla = talla.Text.Trim
                End If
                If txtimc.Value.Trim <> "" Then
                    Clnutricion.talla = txtimc.Value.Trim
                End If
                If antropometria.Text.Trim <> "" Then
                    Clnutricion.antropometria = antropometria.Text.Trim
                End If
                If medidaCinturaVal.Text.Trim <> "" Then
                    Clnutricion.medidaCinturaVal = medidaCinturaVal.Text.Trim
                End If
                If medidaCintura.Text.Trim <> "" Then
                    Clnutricion.medidaCintura = medidaCintura.Text.Trim
                End If
                If comidaCompleta.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comidaCompleta = comidaCompleta.SelectedValue.Trim
                End If
                If consumeLacteos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeLacteos = consumeLacteos.SelectedValue.Trim
                End If
                If consumeHuevos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeHuevos = consumeHuevos.SelectedValue.Trim
                End If
                If consumeCarne.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeCarne = consumeCarne.SelectedValue.Trim
                End If
                If valorconsume.Text.Trim <> "" Then
                    Clnutricion.valorconsume = valorconsume.Text.Trim
                End If
                If consumeFrutas.SelectedValue.Trim <> "-1" Then
                    Clnutricion.consumeFrutas = consumeFrutas.SelectedValue.Trim
                End If
                If vasosdeAgua.SelectedValue.Trim <> "-1" Then
                    Clnutricion.vasosdeAgua = vasosdeAgua.SelectedValue.Trim
                End If
                If formaAlimentarse.SelectedValue.Trim <> "-1" Then
                    Clnutricion.formaAlimentarse = formaAlimentarse.SelectedValue.Trim
                End If
                If comidoMenos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comidoMenos = comidoMenos.SelectedValue.Trim
                End If
                If valorComidoMenos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.valorComidoMenos = valorComidoMenos.SelectedValue.Trim
                End If
                If viveIndependiente.SelectedValue.Trim <> "-1" Then
                    Clnutricion.viveIndependiente = viveIndependiente.SelectedValue.Trim
                End If
                If tresMedicamentos.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tresMedicamentos = tresMedicamentos.SelectedValue.Trim
                End If
                If tieneDinero.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tieneDinero = tieneDinero.SelectedValue.Trim
                End If
                If enfermedadCambioComidad.SelectedValue.Trim <> "-1" Then
                    Clnutricion.enfermedadCambioComidad = enfermedadCambioComidad.SelectedValue.Trim
                End If
                If enfermedadCambioComidadDesc.Text.Trim <> "" Then
                    Clnutricion.enfermedadCambioComidadDesc = enfermedadCambioComidadDesc.Text.Trim
                End If
                If tieneProblemaDientes.SelectedValue.Trim <> "-1" Then
                    Clnutricion.tieneProblemaDientes = tieneProblemaDientes.SelectedValue.Trim
                End If
                If perdidaPeso.SelectedValue.Trim <> "-1" Then
                    Clnutricion.perdidaPeso = perdidaPeso.SelectedValue.Trim
                End If
                If movilidad.SelectedValue.Trim <> "-1" Then
                    Clnutricion.movilidad = movilidad.SelectedValue.Trim
                End If
                If comparacionSalud.SelectedValue.Trim <> "-1" Then
                    Clnutricion.comparacionSalud = comparacionSalud.SelectedValue.Trim
                End If
                If totalNutricionAux.Value.Trim <> "" Then
                    Clnutricion.totalNutricion = totalNutricionAux.Value.Trim
                End If
                If txttotalNutricionAux.Value.Trim <> "" Then
                    Clnutricion.txttotalNutricion = txttotalNutricionAux.Value.Trim
                End If
                Clnutricion.fechaCreo = DateTime.Now()
                modelo.nutricions.InsertOnSubmit(Clnutricion)
                modelo.SubmitChanges()
                nutricionId.Value = Clnutricion.nutricionId.ToString
                If txtContinua.Value.Trim = "Si" Then
                    Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel5, "alert('Se ha guardado correctamente');")
                Else
                    Msgbox_Web.CreateMessageAlertInUpdatePanel(UpdatePanel5, "alert('Se ha guardado correctamente');window.location = 'encNutricion.aspx'")
                End If
            End If
        End If
    End Sub
    Protected Sub btnBusRapida_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnBusRapida.Click
        SqlDataSource1.FilterExpression = geriatriaClases.fnbusquedaRapida(txtBusquedaRapida.Text.ToString())
        SqlDataSource1.DataBind()
    End Sub
    Protected Sub btnConsulta_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsulta.Click
        Dim where As String
        where = " 1 = 1"
        If cbotipDocumento.SelectedValue.Trim <> "-1" Then
            where = where + " and tipoDocumento = '" + cbotipDocumento.SelectedValue.Trim + "'"
        End If
        If txtDocumento.Text.Trim <> "" Then
            where = where + " and documento = '" + txtDocumento.Text.Trim + "'"
        End If
        If conPrinombre.Text.Trim <> "" Then
            where = where + " and primerNombre like '%" + conPrinombre.Text.Trim + "%'"
        End If
        If conSegnombre.Text.Trim <> "" Then
            where = where + " and segundoNombre like '%" + conSegnombre.Text.Trim + "%'"
        End If
        If conPriApe.Text.Trim <> "" Then
            where = where + " and primerApellido like '%" + conPriApe.Text.Trim + "%'"
        End If
        If conSegApe.Text.Trim <> "" Then
            where = where + " and segundoApellido like '%" + conSegApe.Text.Trim + "%'"
        End If
        SqlDataSource1.FilterExpression = where
        SqlDataSource1.DataBind()
    End Sub
End Class